package main

import "fmt"

func main() {
	done := make(chan bool, 1)
	go worker(done)

	/* [重要] main函数 goruntine 的 `<- done`要执行，首先得worker的goruntine执行完，done通道接收到数据 */
	<-done //若注释掉，则main 主goruntine 会直接在执行完make函数后退出，worker(done)也不会被执行

}
func worker(done chan bool) {
	fmt.Println("start working...")
	done <- true
	fmt.Println("end working...")
}
